package com.fenxiangle.yueding.feature.identification.contract;

import com.fenxiangle.yueding.entity.bo.IDCardBo;
import com.fenxiangle.yueding.entity.bo.IdentificationBo;
import com.suozhang.framework.entity.bo.Result;
import com.suozhang.framework.framework.BasePresenter;
import com.suozhang.framework.framework.BaseView;

import org.json.JSONObject;

import java.io.File;
import java.util.List;
import java.util.Map;

import io.reactivex.Observable;
import okhttp3.MultipartBody;
import okhttp3.RequestBody;
import retrofit2.http.Part;
import retrofit2.http.PartMap;

/**
 * Created by Home on 2018/9/9.
 */

public interface IdentificationContract {
    interface   Model{
        Observable<String> add_basic_authentication(List<File> files, Map<String, String> string);
        Observable<IdentificationBo> select_authentication_data(String flag);
        Observable<String> add_boss_authentication(List<File> files, Map<String, String> string);
        Observable<IDCardBo> add_uploadIDCard_authentication(String cardNegative, String cardPositive);
        Observable<IDCardBo> add_uploadBusinessLicense_authentication(String businessLicense);
    }
    interface View extends BaseView {
        void showLoginSuccess();
        void showData(IdentificationBo identificationBo);
        void  showIdentificationData(IDCardBo idCardBo);
        void showError(String error);
    }

    interface Presenter extends BasePresenter {
        void userThirdLogin(List<File> files, Map<String, String> string);
        void select_authentication_data(String flag);
        void add_boss_authentication(List<File> files, Map<String, String> string);
        void add_uploadIDCard_authentication(String cardNegative, String cardPositive);
        void add_uploadBusinessLicense_authentication(String businessLicense);
    }
}
